package br.nsi.ardae.banco_teste;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class SimulaProduto {
	
	private static SimulaProduto unique = null;
	private final static int qtdProduto = 300;
	
	private static List<String> listaDescricao;
	
	private SimulaProduto(){
		createListaDescricao();
	}
	
	public static SimulaProduto newSimulaProduto(){
		if (SimulaProduto.unique == null){
			SimulaProduto.unique = new SimulaProduto();
		}
		return SimulaProduto.unique;
	}
	
	public static int getQtdProduto(){
		return SimulaProduto.qtdProduto;
	}

	private void createListaDescricao(){
		SimulaProduto.listaDescricao = new ArrayList<String>();
		
		SimulaProduto.listaDescricao.add("arroz");
		SimulaProduto.listaDescricao.add("feijao");
		SimulaProduto.listaDescricao.add("macarrao");
		SimulaProduto.listaDescricao.add("farinha");
		SimulaProduto.listaDescricao.add("a�ucar");
		SimulaProduto.listaDescricao.add("cafe");
		SimulaProduto.listaDescricao.add("biscoito");
		SimulaProduto.listaDescricao.add("leite");
		SimulaProduto.listaDescricao.add("oleo");
		SimulaProduto.listaDescricao.add("cerveja");
		SimulaProduto.listaDescricao.add("vodka");
		SimulaProduto.listaDescricao.add("uisque");
		SimulaProduto.listaDescricao.add("tequila");
		SimulaProduto.listaDescricao.add("menta");
		SimulaProduto.listaDescricao.add("coca");
		SimulaProduto.listaDescricao.add("guarana");
		SimulaProduto.listaDescricao.add("mineirinho");
		SimulaProduto.listaDescricao.add("fanta");
		SimulaProduto.listaDescricao.add("sprite");
		SimulaProduto.listaDescricao.add("guaravita");
	}
	
	private String getDescricao(){
		return (String) this.listaDescricao.get((int)(100*Math.random() % 20));
		
	}
	
	private float getValor(){
		return (float) (100*Math.random());
	}
	
	public void inserirProduto(Connection conexao) throws SQLException{
	
		String descricao = this.getDescricao();
		float valor = this.getValor();
		
		System.out.println("descricao: "+descricao+" valor: "+valor);
		
		PreparedStatement pstmt = conexao.prepareStatement("Insert into produtos (descricao, valor) values (?,?)");
		pstmt.setString(1, descricao);
		pstmt.setFloat(2, valor);
		pstmt.executeUpdate();
		pstmt.close();
	}
}
